package com.ptms.repository;

import com.ptms.entity.User;
import lombok.Builder;
import lombok.Data;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Optional;

@Repository
public interface UserRepository extends JpaRepository<User, Long> {

    // 根据用户名查询用户（登录用）
    Optional<User> findByUsername(String username);

    // 检查用户名是否已存在（注册用）
    boolean existsByUsername(String username);

    // 检查手机号是否已存在（注册用）
    boolean existsByPhone(String phone);
    /**
     * （修改后新方法）用于获取当前登录用户完整信息：根据用户名查询包含所有字段的用户
     * 命名修改为 findUserByUsername，避免与已有 findByUsername 重名
     */
    Optional<User> findUserByUsername(String username);




    /**
     * 根据用户类型查询用户列表
     */
    List<User> findByUserType(String userType);

    /**
     * 根据校区ID和用户类型查询用户列表
     */
    List<User> findByCampusId_IdAndUserType(Long campusId, String userType);

    /**
     * （保持不变）根据校区ID和用户类型查询管理员
     */



}